Methods of processing waveform data from one or more channels using a test and measurement instrument are desirable for providing a query language to facilitate analysis and display of large quantities of waveform data as well as complex waveforms. Currently, in order to perform analysis on a test and measurement instrument, users have to work with an entire record. Records consist of a series of measurements made over time, typically of voltage. Record lengths are increasing because many serial digital signals are in use, such as those utilized by the Serial Advanced Technology Attachment (SATA) computer bus. The SATA computer bus is designed for transferring data between a computer and mass storage devices.
To prevent noise from causing significant interference with the data signal at the high transmission speeds of SATA systems, differential signaling is used to make it easy to filter out the noise from the data signal at the receiving end. However, the waveforms of such systems are difficult to analyze because jitter in the signal is present to reduce the noise interference. In order to remove the jitter from the signal, a large amount of data must be collected so that linear regression can be performed to obtain start and stop points, and then a low pass filter can be used to eliminate the jitter. Although these operations eliminate the jitter, the long record makes it very difficult for users to sort through the captured data to find areas of interest. With longer waveforms, it is more difficult for users to see cause-and-effect in serial data.
Although analyzing serial digital signals is increasingly important, current test and measurement instruments do not make it easy for users to analyze such signals. Currently available test and measurement instruments provide either a very limited math subsystem that can work only on an entire record or require users to write code in a programming language running on an existing math engine to perform complex analyses. Neither of these approaches makes it easy to find abnormalities because users cannot evaluate only a portion of the waveform. Furthermore, math is not a very expressive way to interact with long waveforms, and general-purpose programming languages introduce a large barrier for many users of test and measurement instruments.
Existing high-end oscilloscopes, such as those currently manufactured by Tektronix, Inc., already incorporate a search/mark capability to mark foci automatically on a waveform matching a user-defined event. A user can subsequently navigate through these marks to inspect the waveform in identified foci. However, the types of events users can specify are very limited.
The use of query languages is known in the prior art. For example, Structured Query Language (SQL) is the predominant approach used to interact with databases. SQL is a standard interactive and programming language for querying and modifying data and managing databases. SQL is designed for a specific purpose: to query data contained in a relational database. Although SQL is not as powerful as directly manipulating the database with a native programming Application Programming Interface (API), it is nonetheless very useful and easy to learn. Data analysis in a test and measurement instrument could be greatly simplified and generalized by using a query language. However, the underlying data type in most oscilloscopes is some form of digitized waveform. This data type does not lend itself to being manipulated using the same access model as SQL. Therefore, a novel method of modeling waveforms so that an expressive query language can be defined for generalized analysis is required.
Therefore, a need exists for a new and improved method of processing waveform data from one or more channels using a test and measurement instrument that can be used for providing a query language to facilitate analysis and display of large quantities of waveform data as well as complex waveforms. In this regard, the various embodiments of the present invention substantially fulfill at least some of these needs. In this respect, the method of processing waveform data from one or more channels using a test and measurement instrument according to the present invention substantially departs from the conventional concepts and designs of the prior art, and in doing so provides an apparatus primarily developed for the purpose of providing a query language to facilitate analysis and display of large quantities of waveform data as well as complex waveforms.